Índice

[[#Arquitectura]]
[[#Automatización de infraestructura CES]]
[[#Extracción de Data Insights]]
[[#Disaster Recovery]]


Arquitectura

DevOps y gestión de lanzamientos

Para establecer una gestión de lanzamientos sólida, es necesario responder a dos preguntas:

  1. ¿Cómo gestionarás tus entornos? Es crucial usar distintos entornos para desarrollo, pruebas y lanzamiento (draft, unit testing, ready to merge, etc.).

  2. ¿Qué interfaz se usará para el monitoreo? Se necesita una interfaz para diferenciar entre operaciones normales y anómalas, y para medir el rendimiento.


Flujo de trabajo de desarrollo

El uso de entornos separados y un flujo de trabajo claro permite que múltiples desarrollos se realicen de manera independiente y en paralelo.

  1. Entornos separados: Diferentes entornos como draft, unit testing y ready to merge permiten a los equipos trabajar en distintas funcionalidades al mismo tiempo.

  2. Detección temprana de errores: La supervisión de cada fase ayuda a identificar y corregir problemas de forma temprana.

  3. Artefacto dorado (Golden Artifact): El objetivo es producir un candidato para el lanzamiento a producción que esté completamente probado y validado.

Consideraciones para el lanzamiento a producción

Una vez que tienes el "artefacto dorado", hay dos puntos importantes para el lanzamiento:

  1. Despliegue gradual: Si es posible, implementa la nueva versión de forma gradual, por ejemplo, comenzando con el 1% del tráfico y aumentando progresivamente hasta el 100%.

  2. Automatización: El entorno de producción debe estar completamente automatizado. La intervención manual (break-glass intervention) solo debe ocurrir en situaciones de emergencia.


Automatización de infraestructura CES

Existen tres herramientas principales para automatizar las operaciones y el mantenimiento de Agentes Conversacionales: la API nativa, las librerías cliente y la API de scripting de Python SCRAPI.


1. La API de Agentes Conversacionales

La API de Agentes Conversacionales es una herramienta robusta y completa para automatizar y reconfigurar despliegues. Sin embargo, tiene algunas características que pueden suponer un reto para quienes no estén familiarizados con ella:

2. Librerías cliente

Las librerías cliente funcionan de forma similar a las APIs nativas, permitiendo acceder a ellas desde lenguajes de programación populares. También puedes usar tus propias librerías personalizadas para llamar al servicio de la API.


3. SCRAPI

SCRAPI (Conversational Agents SCRipting API) es una API de Python de alto nivel y de código abierto que simplifica el proceso de creación, desarrollo y mantenimiento de Agentes Conversacionales. Es una alternativa popular a las APIs nativas, ya que maneja gran parte de la complejidad subyacente.

Ventajas de SCRAPI


Extracción de Data Insights

Primero, configura una plantilla de la API de Prevención de Pérdida de Datos para enmascarar la información sensible. Segundo, habilita las opciones de "Conversation History" y "BigQuery Export" en la configuración del agente. Tercero, selecciona el conjunto de datos y la tabla de destino, que deben estar en el mismo proyecto que el agente.


Consideraciones para la exportación a BigQuery


Filtrado de logs en Cloud Logging


Disaster Recovery

1. Continuidad del Negocio (BCP)

Un plan de continuidad del negocio (BCP) describe cómo los servicios esenciales seguirán operando a pesar de las interrupciones. Para implementar un BCP sólido, se recomienda:

2. Recuperación ante Desastres (DR)

El plan de recuperación ante desastres (DRP) es una parte del BCP. Contempla tres tipos de acciones:

Dos métricas clave para la recuperación ante desastres son:


3. Mejores prácticas y recomendaciones